Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


🬧 The NomadNet Encyclopedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

πŸ” Search

Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―

Debugger
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Un mwcwdebugger in informatica Γ¨ un mwdaprogramma/software specificatamente progettato per l'analisi e l'eliminazione dei mwdqbug (mwdgdebugging), ovvero errori di mwdwprogrammazione interni al codice di altri programmi.cite-ref-1[1]

Assieme al mwfqcompilatore Γ¨ fra i piΓΉ importanti strumenti di sviluppo a disposizione di un mwfgprogrammatore, spesso compreso all'interno di un mwfwambiente integrato di sviluppo (IDE), in quanto in grado di aiutare il mwgaprogrammatore ad individuare mwgqerrori di semantica all'interno del mwggcodice sorgente del programma, altrimenti di difficile individuazione in fase di mwgwruntime.

La maggior parte dei debugger include un mwhqdisassembler, come il programma objdump delle mwhwGNU Binutils.

Contents

β€’ Descrizione
β€’ Note

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Descrizione

Il compito principale del debugger Γ¨ quello di mostrare il frammento di mwiwcodice macchina che genera il problema (tipicamente un mwjacrash). Il codice puΓ² essere mostrato nella sua forma nativa, tradotto in linguaggio mwjqassembly o perfino sotto forma di mwjgcodice sorgente nel mwjwlinguaggio di programmazione in cui il programma analizzato Γ¨ stato scritto. Per mostrare il codice assembly, il debugger fa tipicamente uso di un mwkadisassembler, eventualmente integrato nello stesso. Per l'analisi del codice sorgente, invece, Γ¨ in generale necessario uno speciale tipo di mwkqcompilazione per il programma utente.

PoichΓ© la compilazione con debug inserisce nel programma grandi quantitΓ  di istruzioni in piΓΉ, un programma eseguito in modalitΓ  debug Γ¨ tipicamente molto piΓΉ lento di quando Γ¨ eseguito direttamente sul mwkwprocessore per cui Γ¨ stato sviluppato.

Se si utilizza un mwlqinterprete il debugging Γ¨ molto piΓΉ naturale per la natura stessa dell'interpretazione.

Quasi tutti i debugger consentono l'esecuzione del programma analizzato a piccoli passi, mostrando nelle interruzioni il codice relativo all'istruzione sorgente corrente e lo stato attuale della mwlwCPU ovvero lo stato o valore delle mwmavariabili associate alle rispettive nelle celle di mwmqmemoria. L'interruzione dell'mwmgesecuzione puΓ² avvenire passo passo ad ogni singola istruzione, entrando eventualmente in altri sottoprogrammi, oppure in punti esplicitamente assegnati dall'utente (mwmwbreakpoint o watchpoint). L'ultima istruzione evidenziata prima del crash Γ¨ tipicamente il punto o causa dello scatenarsi dell'evento indesiderato, anche se in linea di massima questa puΓ² a sua volta dipendere da risultati di istruzioni precedenti (es. valori nulli di variabili o parametri passati).

Molti debugger contengono funzioni piΓΉ sofisticate come la possibilitΓ  di modificare il valore di alcune locazioni di mwnqmemoria o la possibilitΓ  di modificare il flusso del programma eseguendo delle parti di codice macchina che normalmente non vengono raggiunte.

Alcuni debugger sono delle vere e proprie mwnwmacchine virtuali che simulano una particolare famiglia di CPU mentre altri sfruttano particolari funzioni della CPU hardware per poter analizzare e controllare il flusso del programma

Elenco di debugger piΓΉ utilizzati

β€’ Absolute Debugger (adb)
β€’ Allinea Distributed Debugging Tool (DDT) (DDT)
β€’ AntiC
β€’ Broadway
β€’ CodeView ed il Visual Studio Debugger
β€’ DAEDALUS
β€’ dbx
β€’ dgb PHP Debugger and Profiler
β€’ dgb Library
β€’ Dynamic debugging technique (DDT), e la sua controparte ottale ODT
β€’ Visual DuxDebugger, debugger disassembler per Windows 64-bit
β€’ dprobes
β€’ doctorJ, controlla la documentazione JavaDoc confrontandola con il codice
β€’ Etnus TotalView
β€’ GNU Debugger (GDB)
β€’ Interactive Disassembler (IDA Pro)
β€’ Java Platform Debugger Architecture
β€’ ladebug
β€’ MacsBug
β€’ OllyDbg
β€’ Prism Parallel Debugger
β€’ Purify
β€’ Symbolic Debugger (sdb)
β€’ SoftICE
β€’ Turbo Debugger
β€’ TMON
β€’ T-Bug, il debugger integrato in Perl 5
β€’ Windbg
β€’ Tp-cobol-debugger, debugger opensource per opencobol in linguaggio cobol

Note

cite-note-11. ↑ mwqaMikejo5000, mwqqmwqgChe cos'Γ¨ il debug? - Visual Studio, su mwqwdocs.microsoft.com. mwraURL consultato il 10 settembre 2020.

Voci correlate

β€’ mwsaBug
β€’ mwsgDebugging

Collegamenti esterni

β€’ citerefenciclopedia-della-matematicadebugger, in Enciclopedia della Matematica, Istituto dell'Enciclopedia Italiana, 2013.
β€’ citereffoldoc(EN) Denis Howe, debugger, in Free On-line Dictionary of Computing. Disponibile con licenza mwuaGFDL